#include <iostream>
using namespace std;
class Data
{
public:
int x;
int y;
public:
Data(int a){x=a; y = 55;}
void show(const Data & d);//常引用 
void show() const; //常函数，只能调用常函数,不能调用非常函数。
void print(); //非常函数
};

void Data::show(const Data & d)
{
cout<<d.x<<endl;
print();

}
void Data::show() const
{
cout<<x<<endl;
cout <<y <<endl;
//print(); //报错，编译不通过。

}
void Data::print()
{
cout<<"hello world"<<endl;
}

int main()
{
    Data d(3); 
    const Data c(4);
    d.show(d);
    //c.show(c) //报错，常对象只能调用常函数
    c.show();
    return 0;
}